#ifndef __MC_SKY_HH__
#define __MC_SKY_HH__

#include <opengl/texture.h>
#include <opengl/shader.h>
#include <opengl/vertex.h>
#include <vector>
#include <string>

namespace mc
{
class Sky
{
public:
    // 构造
    Sky() = default;
    Sky(const std::vector<std::string>& faces);
    ~Sky() noexcept;

    void draw();

    static void createShader(const glm::mat4& projection);
    static void prepareRender(const glm::mat4& view);

private:
    opengl::Texture* _texture;
    opengl::VertexArray _vao;
    opengl::VertexBuffer _vbo;

    static opengl::Shader shader;
    static float vertices[];
};
}

#endif